<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="zh" xml:lang="zh" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Role: 软件架构师</title>
<meta name="uma.type" content="Role">
<meta name="uma.name" content="rup_software_architect">
<meta name="uma.presentationName" content="软件架构师">
<meta name="uma.category" content="RoleSet:developers:开发人员">
<meta name="element_type" content="Role">
<meta name="filetype" content="description">
<meta name="role" content="软件架构师">
<link rel="StyleSheet" href="./../../css/default.css" type="text/css">
<script src="./../../scripts/ContentPageResource.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ContentPageSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ContentPageSubSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ContentPageToolbar.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/contentPage.js" type="text/javascript" language="JavaScript"></script><script type="text/javascript" language="JavaScript">
					var backPath = './../../';
					var imgPath = './../../images/';
					var nodeInfo=null;
					contentPage.preload(imgPath, backPath, nodeInfo,  '', false, false, false);
				</script>
</head>
<body>
<div id="breadcrumbs"></div>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top"><a name="Top"></a>
<div id="page-guid" value="{4AC346F0-E6FC-4D2C-8410-2EDF8DDDC91D}"></div>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td class="pageTitle" nowrap="true">Role: 软件架构师</td><td width="100%">
<div align="right" id="contentPageToolbar"></div>
</td><td width="100%" class="expandCollapseLink" align="right"><a name="mainIndex" href="./../../index.htm"></a><script language="JavaScript" type="text/javascript" src="./../../scripts/treebrowser.js"></script></td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="pageTitleSeparator"><img src="./../../images/shim.gif" alt="" title="" height="1"></td>
</tr>
</table>
<div class="overview">
<table width="97%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50"><img src="./../../images/role.gif" alt="" title=""></td><td>
<table class="overviewTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">该角色负责系统软件的架构的开发，包括为约束整个项目设计和实现的关键技术决策提升和创建支持。</td>
</tr>
<tr>
<td>Role Sets: <a href="./../../rup/rolesets/developers_FC7B1449.html" guid="_qwxC8N7YEdmjRZts2c4ZjQ">开发人员</a></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Relationships</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="sectionTableSingleCell" colspan="2" align="center"><p><map name="软件架构师"><area href="./../../rup_soa_plugin/tasks/identify_services_565F8B8A.html" shape="rect" coords="210, 10, 242, 42" alt="Identify Services" title="Identify Services" guid="{0BF79161-A484-4C48-B72D-DA381DA05886}"></area><area href="./../../rup/tasks/construct_arch_proof_145E3656.html" shape="rect" coords="312, 10, 344, 42" alt="构建架构概念验证" title="构建架构概念验证" guid="{63D0BC8C-1FE9-48F7-9B03-B2394C11DCB5}"></area><area href="./../../rup/tasks/structure_implementation_model_E0E0DEF9.html" shape="rect" coords="414, 10, 446, 42" alt="构造实现模型" title="构造实现模型" guid="{35272424-8A0A-4DDD-BA74-C91B80A8D046}"></area><area href="./../../rup/tasks/incorporate_design_elements_D3C582B5.html" shape="rect" coords="516, 10, 548, 42" alt="合并现有设计元素" title="合并现有设计元素" guid="{5C647173-4E32-4594-96A9-2548B47722FA}"></area><area href="./../../rup/tasks/prioritize_use_cases_E6E4D9A0.html" shape="rect" coords="618, 10, 650, 42" alt="划分用例优先级" title="划分用例优先级" guid="{6E23D919-D149-43C2-9D37-8AF77B667CA8}"></area><area href="./../../rup/tasks/architectural_analysis_2B9BE03.html" shape="rect" coords="720, 10, 752, 42" alt="架构分析" title="架构分析" guid="{8CB48402-D4C5-4E17-BB33-507315CB1BBF}"></area><area href="./../../rup/tasks/describe_distribution_9BA1477C.html" shape="rect" coords="822, 10, 854, 42" alt="描述分布" title="描述分布" guid="{6A112808-0A90-427A-BAB9-E14F3FBF72B5}"></area><area href="./../../rup/tasks/describe_runtime_architecture_2F8E190.html" shape="rect" coords="210, 72, 242, 104" alt="描述运行时架构" title="描述运行时架构" guid="{4D35C038-A2D0-48B8-9ECD-52717FEAE33A}"></area><area href="./../../rup/tasks/assess_viability_of_proof_8BA70FD2.html" shape="rect" coords="312, 72, 344, 104" alt="评估架构概念验证的生存能力" title="评估架构概念验证的生存能力" guid="{F04ADECF-743C-4BEB-A92C-9FF25AE7429D}"></area><area href="./../../rup/tasks/identify_design_mechanisms_9A197FBC.html" shape="rect" coords="414, 72, 446, 104" alt="确定设计机制" title="确定设计机制" guid="{C7A26BD7-3820-48D9-830F-684C3AF155F9}"></area><area href="./../../rup/tasks/identify_design_elements_E884AB82.html" shape="rect" coords="516, 72, 548, 104" alt="确定设计元素" title="确定设计元素" guid="{97D7343A-6993-4AB7-8F86-4DAC8C9075C8}"></area><area href="./../../rup/workproducts/rup_deployment_model_57DF1DF5.html" shape="rect" coords="210, 149, 242, 181" alt="部署模型" title="部署模型" guid="{5981B6BE-2FD1-4984-AA94-2F7428439BA6}"></area><area href="./../../rup/workproducts/rup_reference_architecture_13D031C0.html" shape="rect" coords="312, 149, 344, 181" alt="参考架构" title="参考架构" guid="{855CE09A-D297-4373-BEEA-D38B8AB348DA}"></area><area href="./../../rup/workproducts/rup_analysis_model_76C3B70C.html" shape="rect" coords="414, 149, 446, 181" alt="分析模型" title="分析模型" guid="{98EA224C-36F6-46E6-AB36-2999382B58B3}"></area><area href="./../../rup/workproducts/rup_architectural_proof_of_concept_9AF95095.html" shape="rect" coords="516, 149, 548, 181" alt="架构概念验证" title="架构概念验证" guid="{198EA2A5-4FBA-45D5-85BA-53B108728534}"></area><area href="./../../rup/workproducts/rup_interface_9816B54F.html" shape="rect" coords="618, 149, 650, 181" alt="接口" title="接口" guid="{C6938487-1DAA-4F6A-B3BC-CB99165F0680}"></area><area href="./../../rup/workproducts/rup_software_architecture_document_C367485C.html" shape="rect" coords="720, 149, 752, 181" alt="软件架构文档" title="软件架构文档" guid="{6F49641A-ED10-47B5-9E5D-3F90A6BF3006}"></area><area href="./../../rup/workproducts/rup_design_model_2830034D.html" shape="rect" coords="822, 149, 854, 181" alt="设计模型" title="设计模型" guid="{8CDAEAD4-5E84-4F50-87FD-3240ED047DE7}"></area><area href="./../../rup/workproducts/rup_implementation_model_5858DB65.html" shape="rect" coords="210, 211, 242, 243" alt="实现模型" title="实现模型" guid="{157E9B67-C619-410D-A927-F2CD217BF8FE}"></area><area href="./../../rup/workproducts/rup_event_741355DE.html" shape="rect" coords="312, 211, 344, 243" alt="事件" title="事件" guid="{53AF0AB8-E1A1-45E7-8E4F-AFE2427633C6}"></area><area href="./../../rup/workproducts/rup_protocol_BEB5FBE1.html" shape="rect" coords="414, 211, 446, 243" alt="协议" title="协议" guid="{6E4F4D6F-2934-432C-9335-5537B795F67F}"></area><area href="./../../rup/workproducts/rup_signal_AD16C912.html" shape="rect" coords="516, 211, 548, 243" alt="信号" title="信号" guid="{8CA124DA-A80C-45D7-BC65-BA6B4247FF11}"></area></map><img border="0" src="rup_software_architect_DB0BF177.jpg" alt="软件架构师" title="软件架构师" usemap="#软件架构师"/></p></td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row">Additionally Performs</th><td class="sectionTableCell">
<ul>
<li>
<a href="./../../rup/tasks/define_system_context_D2899FFE.html" guid="_Ub-SUN90EdmvvvV6NEU6eA">Define System Context</a>
</li>
<li>
<a href="./../../rup/tasks/operation_analysis_14743F05.html" guid="_cnJO4N9yEdmvvvV6NEU6eA">Operation Analysis</a>
</li>
<li>
<a href="./../../rup/tasks/operation_design_BF30F48F.html" guid="_JPsAEN90EdmvvvV6NEU6eA">Operation Design</a>
</li>
<li>
<a href="./../../nup_base/tasks/建立组织知识库_D7DF488.html" guid="_5YOooNx4Ed27Ld6FEj33Ng">建立组织知识库</a>
</li>
</ul>
</td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row">Modifies</th><td class="sectionTableCell" colspan="2">
<ul>
<li>
<a href="./../../rup_soa_plugin/workproducts/soa_svce_component_E259F3CC.html" guid="{447385A0-E565-4C87-A082-402AF21CA088}">Service Component</a>
</li>
<li>
<a href="./../../rup_soa_plugin/workproducts/soa_service_model_623494B9.html" guid="{E24679B7-19F1-483B-A1F1-578839C43888}">Service Model</a>
</li>
<li>
<a href="./../../rup/workproducts/rup_deployment_model_57DF1DF5.html" guid="{5981B6BE-2FD1-4984-AA94-2F7428439BA6}">部署模型</a>
</li>
<li>
<a href="./../../rup/workproducts/rup_reference_architecture_13D031C0.html" guid="{855CE09A-D297-4373-BEEA-D38B8AB348DA}">参考架构</a>
</li>
<li>
<a href="./../../rup/workproducts/rup_analysis_class_DAF7CE03.html" guid="{1E20603F-A5B8-42D5-BDBC-69DCE9C0FCDB}">分析类</a>
</li>
<li>
<a href="./../../rup/workproducts/rup_analysis_model_76C3B70C.html" guid="{98EA224C-36F6-46E6-AB36-2999382B58B3}">分析模型</a>
</li>
<li>
<a href="./../../rup/workproducts/rup_capsule_FC4A34FD.html" guid="{4423FCE1-FF59-4C8E-A6C4-AA4B13CB3250}">封装体</a>
</li>
<li>
<a href="./../../rup/workproducts/rup_architectural_proof_of_concept_9AF95095.html" guid="{198EA2A5-4FBA-45D5-85BA-53B108728534}">架构概念验证</a>
</li>
<li>
<a href="./../../rup/workproducts/rup_interface_9816B54F.html" guid="{C6938487-1DAA-4F6A-B3BC-CB99165F0680}">接口</a>
</li>
<li>
<a href="./../../rup/workproducts/rup_review_record_CA816ECE.html" guid="{4047B5B0-5FB7-4960-8A7E-451719D85DFF}">评审记录</a>
</li>
<li>
<a href="./../../rup/workproducts/rup_software_architecture_document_C367485C.html" guid="{6F49641A-ED10-47B5-9E5D-3F90A6BF3006}">软件架构文档</a>
</li>
<li>
<a href="./../../rup/workproducts/rup_software_requirement_32CECE14.html" guid="{BB502500-EEEC-4BDE-8697-186666D6D5B3}">软件需求</a>
</li>
<li>
<a href="./../../rup/workproducts/rup_design_package_8376BC8E.html" guid="{80CC5437-F481-487B-A69B-957D9D236D8D}">设计包</a>
</li>
<li>
<a href="./../../rup/workproducts/rup_design_class_B33BD5E5.html" guid="{952A9CE9-D5A3-43AC-980D-0B9298F3872E}">设计类</a>
</li>
<li>
<a href="./../../rup/workproducts/rup_design_model_2830034D.html" guid="{8CDAEAD4-5E84-4F50-87FD-3240ED047DE7}">设计模型</a>
</li>
<li>
<a href="./../../rup/workproducts/rup_design_subsystem_1A8D169B.html" guid="{A3C60B25-9780-4BFA-81AF-C1AD40D8A833}">设计子系统</a>
</li>
<li>
<a href="./../../rup/workproducts/rup_implementation_model_5858DB65.html" guid="{157E9B67-C619-410D-A927-F2CD217BF8FE}">实现模型</a>
</li>
<li>
<a href="./../../rup/workproducts/rup_implementation_subsystem_118747E9.html" guid="{0F629848-C19E-49AB-A6C1-C8D6A094898A}">实现子系统</a>
</li>
<li>
<a href="./../../rup/workproducts/rup_event_741355DE.html" guid="{53AF0AB8-E1A1-45E7-8E4F-AFE2427633C6}">事件</a>
</li>
<li>
<a href="./../../rup/workproducts/rup_protocol_BEB5FBE1.html" guid="{6E4F4D6F-2934-432C-9335-5537B795F67F}">协议</a>
</li>
<li>
<a href="./../../rup/workproducts/rup_signal_AD16C912.html" guid="{8CA124DA-A80C-45D7-BC65-BA6B4247FF11}">信号</a>
</li>
<li>
<a href="./../../rup/workproducts/rup_requirements_attributes_EFE5ABAC.html" guid="{D0E2E7A1-4179-470E-AA18-419D5FEA275D}">需求属性</a>
</li>
</ul>
<ul></ul>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Main Description</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td class="sectionTableSingleCell"><a id="Top" name="Top"></a><a id="XE_software_architect_(role)__description_of" key="软件架构师（角色）（software architect）" text="描述" name="XE_software_architect_(role)__description_of" class="index"></a><a id="Description" name="Description"></a>

<p>
    软件架构师对制定主要技术决策（称为软件架构）负全面责任。 这通常包括确定和记录系统在架构上的重要方面，包括系统的需求、设计、实现以及部署“视图”。
</p>
<p>
    设计人员还负责提供这些决策的理论基础，平衡各项目干系人的利害关系，降低技术风险，并确保有效地传达、确认和遵守决策。
</p></td>
</tr>
</table>
</div>
<div class="sectionHeading">Staffing</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row">Skills</th><td class="sectionTableCell"><a id="Skills" name="Skills"></a> 
<blockquote>
    <p>
        “理想的设计人员应该既是文学家又是数学家，还应该熟悉历史研究，热衷于钻研哲学，精通音乐，懂得药学知识，精通法学，熟悉天文学和天文计算。”－ Vitruvius，约公元前 25 年
    </p>
</blockquote>
<p>
    总之，软件架构师必须是多面手，他必须成熟，有洞察力，并具备一定程度的经验，这样就可以快速把握问题以及在缺乏完整信息的情况下作出有根据的重大判断。 更明确地说，软件架构师或架构团队的成员必须兼有以下技能：
</p>
<ul>
    <li>
        <b>经验</b>，在问题域（通过对需求的彻底了解）和软件工程领域。 如果有一个团队，那么不同的团队成员可以满足上述不同条件，但必须至少有一名软件架构师具有对项目的全局洞察力。
    </li>
    <li>
        <b>领导力</b>，用以推动跨各团队的技术工作，在压力下制定关键决策，并坚持贯彻这些决策。 为达到效果，软件架构师和项目经理必须紧密协作，前者领导技术事宜，后者领导管理事宜。 软件架构师必须有权作出技术决策。
    </li>
    <li>
        <b>沟通</b>，以赢得信赖，去说服，去激励和去指导。软件架构师不能通过强制命令进行领导，而只能通过项目其他成员的赞同。 为达到效果，软件架构师必须赢得项目团队、项目经理、客户、用户群以及管理团队的尊重。
    </li>
    <li>
        <b>面向目标和前期活动</b>，专注于成果。软件架构师是项目背后的技术驱动力，而不是幻想家或梦想家。 对于一名成功的软件架构师，其职业生涯就是由众多在压力下和不确定情况下作出的次最优决策构成的。
        只有那些能够专注于需做之事的人才会在这种项目环境中获得成功。
    </li>
</ul>
<p>
    从专业技术角度来说，软件架构师还需具备<a class="elementLinkWithType" href="./../../rup/roles/rup_designer_BA8DE74E.html" guid="{DB21F5EF-810B-4994-B120-79FA8774FA9D}">Role: 设计人员</a>能力。但与设计人员不同，软件架构师：
</p>
<ul>
    <li>
        更像是一名通才而非专才，他对很多技术均有较深的了解，而不是对少数技术有很具体的了解
    </li>
    <li>
        作出范围较广的技术决策，因此广泛的知识面和经验以及沟通技能和领导才能都很重要。
    </li>
</ul></td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row">Assignment Approaches</th><td class="sectionTableCell"><a id="RoleAssignment" name="RoleAssignment"></a> 
<p>
    如果项目足够大而需要一个架构团队，则目标就是使才俊们很好地协作，涵盖各方面的经验，并分享对软件工程流程的共同理解。架构团队不必由来自各个团队、领域或承包商的代表组成。
    软件架构是一个自始至终均存在的功能，需要有职员永久性地专门负责。
</p>
<p>
    对于较小的项目，一个人可兼任项目经理和软件架构师。 但应尽可能由不同的人担当这两个角色，以确保不会由于一个角色的时间压力而导致另一个角色被忽视。
</p></td>
</tr>
</table>
</div>
<div class="sectionHeading">More Information</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row">Checklists</th><td class="sectionTableCell">
<ul>
<li>
<a href="./../../rup/guidances/checklists/protocol_F7AE51B1.html" guid="1.5025405217477615E-306">协议</a>
</li>
</ul>
</td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row">Concepts</th><td class="sectionTableCell">
<ul>
<li>
<a href="./../../rup/guidances/whitepapers/layering_strategies_300DC1D1.html" guid="1.0962026102409748E-305">Layering Strategies</a>
</li>
<li>
<a href="./../../rup_soa_plugin/guidances/whitepapers/modeling_security_concerns_in_service-oriented_architectures_3961AE50.html" guid="1.328991553095394E-305">Modeling Security Concerns in Service-Oriented Architectures</a>
</li>
<li>
<a href="./../../rup_soa_plugin/guidances/whitepapers/soa_cbd_paper_5703509E.html" guid="2.48704851646278E-307">SOA/CBD Paper</a>
</li>
<li>
<a href="./../../rup_soa_plugin/guidances/whitepapers/the_rup_update_for_service-oriented_architecture_329FB318.html" guid="3.271868778372756E-306">The NUP Update for Service-Oriented Architecture</a>
</li>
<li>
<a href="./../../rup/guidances/concepts/web_architecture_patterns_49E51CA1.html" guid="5.037070740002309E-305">Web 架构模式</a>
</li>
<li>
<a href="./../../rup/guidances/concepts/concurrency_EE2E011A.html" guid="3.5787175388799096E-305">并行</a>
</li>
<li>
<a href="./../../rup/guidances/concepts/distribution_patterns_5A01CAF5.html" guid="6.137181182978733E-305">分布模式 </a>
</li>
<li>
<a href="./../../rup/guidances/concepts/layering_59FD1CD4.html" guid="3.801315327549898E-305">分层</a>
</li>
<li>
<a href="./../../rup/guidances/concepts/software_architecture_4269A354.html" guid="3.066252221588648E-305">软件架构</a>
</li>
<li>
<a href="./../../rup/guidances/concepts/design_and_implementation_mechanisms_A37EAC7D.html" guid="6.131233324119695E-305">设计和实现机制</a>
</li>
<li>
<a href="./../../rup/guidances/concepts/events_and_signals_734567DC.html" guid="1.800598287887014E-305">事件和信号</a>
</li>
<li>
<a href="./../../rup/guidances/concepts/prototypes_9D1E67A.html" guid="6.334848481235948E-305">原型</a>
</li>
</ul>
</td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row">Guidelines</th><td class="sectionTableCell">
<ul>
<li>
<a href="./../../nup_base/guidances/guidelines/documenting_software_architecture_guide_D6189763.html" guid="_LlLnYFlKEd2GAdmlfSDTDg">架构编档指南</a>
</li>
<li>
<a href="./../../rup/guidances/guidelines/statechart_diagram_640B5D0B.html" guid="1.4528459404144188E-304">状态表图</a>
</li>
</ul>
</td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row">Whitepapers</th><td class="sectionTableCell">
<ul>
<li>
<a href="./../../rup/guidances/whitepapers/layering_strategies_300DC1D1.html" guid="1.0962026102409748E-305">Layering Strategies</a>
</li>
<li>
<a href="./../../rup_soa_plugin/guidances/whitepapers/modeling_security_concerns_in_service-oriented_architectures_3961AE50.html" guid="1.328991553095394E-305">Modeling Security Concerns in Service-Oriented Architectures</a>
</li>
<li>
<a href="./../../rup_soa_plugin/guidances/whitepapers/soa_cbd_paper_5703509E.html" guid="2.48704851646278E-307">SOA/CBD Paper</a>
</li>
<li>
<a href="./../../rup_soa_plugin/guidances/whitepapers/the_rup_update_for_service-oriented_architecture_329FB318.html" guid="3.271868778372756E-306">The NUP Update for Service-Oriented Architecture</a>
</li>
<li>
<a href="./../../rup/guidances/concepts/web_architecture_patterns_49E51CA1.html" guid="5.037070740002309E-305">Web 架构模式</a>
</li>
<li>
<a href="./../../rup/guidances/concepts/concurrency_EE2E011A.html" guid="3.5787175388799096E-305">并行</a>
</li>
<li>
<a href="./../../rup/guidances/concepts/distribution_patterns_5A01CAF5.html" guid="6.137181182978733E-305">分布模式 </a>
</li>
<li>
<a href="./../../rup/guidances/concepts/layering_59FD1CD4.html" guid="3.801315327549898E-305">分层</a>
</li>
<li>
<a href="./../../rup/guidances/concepts/software_architecture_4269A354.html" guid="3.066252221588648E-305">软件架构</a>
</li>
<li>
<a href="./../../rup/guidances/concepts/design_and_implementation_mechanisms_A37EAC7D.html" guid="6.131233324119695E-305">设计和实现机制</a>
</li>
<li>
<a href="./../../rup/guidances/concepts/events_and_signals_734567DC.html" guid="1.800598287887014E-305">事件和信号</a>
</li>
<li>
<a href="./../../rup/guidances/concepts/prototypes_9D1E67A.html" guid="6.334848481235948E-305">原型</a>
</li>
</ul>
</td>
</tr>
</table>
</div>
<table class="copyright" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="copyright">Copyright &copy; 2008 版权所有 东软集团股份有限公司&nbsp; 联系邮箱:<a href="mailto:tcoe@neusoft.com">tcoe@neusoft.com</a></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<script type="text/javascript" language="JavaScript">
				contentPage.onload();
			</script>
</html>
